package model.fachada;

import java.util.List;

import model.basicas.Usuario;
import model.negocios.ControladorUsuario;
import excecoes.DadosCadastroUsuarioInvalidos;

public class Fachada implements IFachada{

	private ControladorUsuario usuarioDAO;

	private static Fachada instance;
	public Fachada()
	{
		usuarioDAO = new ControladorUsuario();	
	}

	public static Fachada getInstance()
	{
		if (instance == null)
		{
			instance = new Fachada();
		}
		return instance;

	}

	@Override
	public void cadastrarUsuario(Usuario usuario)
			throws DadosCadastroUsuarioInvalidos {
		this.usuarioDAO.cadastrarUsuario(usuario);

	}

	@Override
	public void removerUsuario(Usuario usuario)
	{		 
		this.usuarioDAO.removerUsuario(usuario);

	}

	@Override
	public Usuario atualizarUsuario(Usuario usuario)
			throws DadosCadastroUsuarioInvalidos 
	{
		return this.usuarioDAO.atualizarUsuario(usuario);

	}
	
	public List<Usuario> consultarTodos()
	{
		return this.usuarioDAO.consultarTodos();
	}

	public Usuario consultarPorId(long id){
		return this.usuarioDAO.consultarPorId(id);
	}
}
